package model.service;

import java.util.List;
import model.UnidadeModel;
import model.persistencia.UnidadeDAO;

/**
 *
 * @author Uelinton
 */
public class UnidadeService {

    private UnidadeDAO unidadeDAO;

    public UnidadeService() {
        unidadeDAO = new UnidadeDAO();
    }

    public void setNextId(UnidadeModel model) {
        int proximoCodigo = unidadeDAO.getCodigo(UnidadeModel.SQL_ULTIMO, 0) + 1;
        model.setCodigo(proximoCodigo);
    }
    
    public int getNextId() {
        return unidadeDAO.getCodigo(UnidadeModel.SQL_ULTIMO, 0) + 1;        
    }   

    //<editor-fold defaultstate="collapsed" desc="GRUD">  
    public void inserir(UnidadeModel model) {
        setNextId(model);
        unidadeDAO.inserir(model);
        model.notificarObservers();
    }

    public void atualizar(UnidadeModel model) {
        unidadeDAO.atualizar(model);
        model.notificarObservers();
    }

    public void delete(UnidadeModel model) {
        unidadeDAO.delete(model);
        model.notificarObservers();
    }

    public List<UnidadeModel> getUnidadeFromFilter(int iFiltro, String iPesquisa) {
        return unidadeDAO.pesquisar(iFiltro, iPesquisa);
    }

    public List<UnidadeModel> getUnidades() {
        return unidadeDAO.pesquisar(UnidadeModel.SQL_GETALL, "");
    }

    public UnidadeModel getUnidade(int codigo) {
        return unidadeDAO.getUnidade(codigo);
    }
    //</editor-fold>
}
